#include <iostream>
#include "insertSort.hpp"
#include "selectSort.hpp"
#include "shellSort.hpp"
#include "quickSort.hpp"
#include "bubbleSort.hpp"
#include "countSort.hpp"
#include "heapSort.hpp"
#include "mergeSort.hpp"

int main()
{
    srand(time(nullptr));
    std::vector<int> nums = {9, 8, 7, 6, 9, 5, 4, 3, 3, 2, 1, 0};
    // insertSort(nums);
    // shellSort(nums);
    // selectSort(nums);
    // bubbleSort(nums);
    // countSort(nums);
    // heapSort(nums);
    // quickSort(nums, 0, nums.size() - 1);
    // QuickSortNonR(nums, 0, nums.size() - 1);
    // MergeSort(nums);
    MergeSortNonR(nums);
    for (auto &x : nums)
    {
        std::cout << x << " ";
    }
    std::cout << std::endl;
    return 0;
}
